大家好~~歡迎來到第二十九篇 聊聊 內輪差論點
上一篇呢,大致上跟大家說明了我們硬體上的問題,以及一些作法上遇到的瓶頸,並且在社會現實面中無法達成的問題。
今天本人要跟大家介紹 real time 這個詞彙,real-time 這是一個基本的詞就是即時的概念,何謂即時?我們可以當作馬上的意思,很多產品都是必須要達到馬上的動作,這種就是要達到即時的效果,那麼即時效果有這麼容易嗎?如果有寫韌體的工程師就會知道,十分不容易。
-
硬體延遲
- 首先我們先不要看軟體的部分,或是程式,我們先單純看看硬體的架構,我們知道輸入的腳位到輸出不要看有甚麼零件的話,基本上它就是有很多線路在裏頭,那麼它的運作方式,就是透過這些接好的線路輸出出去,那問題來了,他在走這些線路的時候會不會造成延遲的動作,答案是一定會,雖然很微小的,但是我們如果再往裡面一點看就會發現延遲更多,通常硬體的架構會用到所謂叫做開關的元件,這種元件他當開關的意思就是他有中間的時間差,開跟關之間有個時間差異,那麼這個時間差異就會大大影響延遲的效果,如果今天的元件比較不好的話,這樣他的時間差就很高,相對就會造成我們的產品產生很嚴重的延遲,所以這時候就會發現硬體在延遲上非常的講究。
-
軟體與程式的延遲
- 我們先講講程式好了,作為訊號傳輸的程式定義,我們以 Arduino 來看好了,我們可以知道 Arduino 的腳位非常多,但是這些腳位的輸出速度如何呢?其實 Arduino 他也是個單晶片組成的,我們可以知道單晶片的速度非常快速,但是畢竟他也算是一塊板子,這個板子上有很多零件接觸之後才做輸出,所以光是這個問題可能就有許多延遲在,有時候我們做簡單的輸出閃燈,或是 PWM 可能比較沒感覺,可是當你要跟實際電路結合的時候,如果是大型的電路,這樣就很看程式撰寫的配合度了,如果沒弄好,也很可能會造成爆掉的可能,爆掉原因通常就會是在時序上沒有配合好。
那麼說到這是不是就可以了解到,real-time 的一些重要性呢,如果你的 real-time 做得非常完美,那麼你所做的韌體就真的算是蠻成功的。
那麼謝謝大家觀看,今天努力到了第29天 第30天會以分享的態度為主,謝謝大家